对象存储在银行非结构化数据存储中的作用实测
一、企业非结构化数据存储的现状与难点
随着本行业务的不断发展以及客户需求的不断丰富,本行非结构化数据呈现爆发式增长。目前,使用非结构化数据的主要系统包括内容管理平台、后督影像系统以及呼叫中心系统的录音文件。系统上线伊始,监管部门的要求并未完善,非结构化数据增长相对缓慢,采用 SAN+NAS 存储完成能够满足需求。近两年,数据增长迅猛,几乎呈现指数式增长态势,随着录音录像系统的近期投产, 使用传统集中式存储解决非结构化数据存放出现了性能和容量的瓶颈。急需探究一种新的解决方案满足当前非结构化数据爆发增长的业务需求。
现状:
目前我行非结构化数据主要包括影像图片和录音文件两部分。 影像图片多为几十 k 到几百 K 的小文件,主要服务内容管理平台、后督影像平台等业务系统,身份验证、柜员办业务扫描件等都需要用到影像图片,因此,访问效率和数据安全性需要得到保障;录音文件主要服务于呼叫中心系统,电话客服的录音保留是重要的监管材料,需要长期保存并高效访问。目前,我行的非结构化数据主要存放于 SAN 存储,部分存放于 NAS 存储。内容管理平台采用 IBM 的 CM(content manager)对影像文件进行管理,通过 CM 将影像文件存放至由 SAN存储搭建的文件系统中,根据业务系统和时间进行目录的划分。系统已上线七年,全部为在线数据,我行所有在线影像数据大约 70TB 容量,近两年都在以 15T/年的速度爆发增长。
面临的问题:
随着影像文件越来越多,通过 SAN 存储管理上亿个小文件是巨大的困难,遍历文件需要极大的资源消耗,文件目录打开需要很长的响应时间,严重影响了业务系统的服务水平。存在于 NAS 存储的数据同样面临相似问题,基于文件系统的架构,内部均采用树形目录结构,文件达到上亿级别时就会出现性能严重下降的问题,系统的响应时间直线下线,严重影响我行对外服务,制约业务发展。此外,数据作为银行最重要的资产,需要通过多种备份方式进行数据保护, 但数量庞大的影像文件在备份过程中也面临着巨大的挑战, 传统的备份软件和备份方式已经不能对影像文件进行备份, 更多采用存储级别的备份方式。 通过存储底层的复制技术达到数据保护的目的,但这种方式不能规避逻辑错误,不能规避人为的误操作,不能准确的恢复到具体时间点。 正是基于以上这些非结构化数据面临的问题, 企业急需对当前存储架构进行调整,选择适合非结构化数据存储的整体解决方案,解决当前存在的问题,提升业务系统的服务。
二、非结构化数据存储的优化思路
当前我行非结构化数据存放于传统集中式存储。 传统集中式存储在处理结构化数据方面有着非常高的性能, 但是在处理非结构化数据方面体现出性能的不足, 尤其是非结构化数据爆发增长后, 传统集中式存储在海量小文件处理方面表现出严重的性能下降, 非常影响业务系统的使用,长此以往,会给客户造成不可预知的后果,对我行未来发展极其不利。面临着如此问题, 我行着手探究应对非结构化数据的解决方案。 互联网行业巨头每天需要处理的非结构化数据比银行数量更多、容量更大,但是并未发生传统集中式存储出现问题,经过前期的咨询和交流, 互联网行业通过采用分布式存储的方式进行处理, 高并发高性能地应对越来越大的非结构化数据量。分布式存储领域中,目前金融企业采用的是对象存储。对象存储作为稳定的分布式存储,正是对非结构化数据的应对之策,因此,我行逐渐由传统集中式存储向对象存储转型,以应对非结构化数据爆发带来的问题。
对象存储方案的思路:
对象存储并不是最近诞生的一种新技术, 而是经过十几年的技术沉淀产生的。 正是近几年大数据、 互联网的发展, 人民对数据的需求越来越大, 对象存储真正有了发挥作用的地方。
通过对象存储替代传统集中式存储可以解决海量小文件的访问性能问题和存储问题, 能够极大程度提升非结构化文件的访问效率,非常有效的提升业务系统对外服务的支持。此外,对象存储作为分布式存储,本身可以通过更细颗粒度的算法将数据分散在不同的存储节点中。
根据自身优点,对象存储可以保证数据不丢失,版本管理可以规避逻辑错误。对象存储采用扁平化的架构,其扩展性极强,从几十 TB 最高可扩展 PB,甚至 EB 级别,扩容操作十分方便,对生产存储并无任何影响。对象存储较传统集中式存储来说,其价格十分低廉,存储成本成倍的下降,能够将传统存储的性能有效利用。综上所述,采用对象存储处理非结构化数据在运维性能、数据安全性有个质的提升,同时运维成本也下降了很多。采用对象存储,对我行有深远影响。
1、完善存储架构。根据我行制定的未来五年存储规划,逐步落实落地存储体系架构。目前全部使用传统集中高端存储, 并未根据业务系统的相关重要性进行分层。 不仅非结构化数据影响整体存储性能,同时长期存放于高端存储对存储的高 IOPS 性能也是一种浪费。因此对存储架构进行了规划,对于影像平台进行调度管理的数据库使用传统集中式的高端存储,保证数据库的高响应,非结构化的数据使用对象存储进行存储。根据对象存储的扩容优点,将对象存储制作成存储资源池,所有非结构化数据存放于“池”中。二层存储架构的落地,使存储性能得到最优的利用,也降低了存储的使用成本。
2、提升数据可靠性。目前我行使用传统集中式存储存放海量非结构化数据,在备份方面存在困难, 只能使用存储级别复制技术来进行数据保护。 对象存储不仅可以提供多副本功能,根据不同的需求进行副本数量的设定;还提供多版本的功能,这样可以规避逻辑错误,保证非结构化数据被误删除后可进行恢复。 对象存储中根据多节点方式部署, 某存储节点发生故障,对象存储池并不受影响。对象存储也可以按节点部署三中心,哪怕某一中心全部出现故障,对象存储也依然可对外服务,数据可靠性得到了很高的提升。
对象存储的引起为海量非结构化数据提供了可靠的存储介质和方式, 同时, 也带来了一些问题。对象存储采用分布式存储的方式,访问协议为 S3、REST、SWIFT 等对象存储协议,传统的集中式存储为 FC 和 NFS 等协议,应用程序对数据的访问方式需要进行调整,根据对象存储协议对接口进行调整, 对于更改应用程序是不小的挑战。 我行采用的方式为新上系统对非结构化数据的访问采用对象存储,对于存量的系统,逐步推进变更方式。对于存量的内容管理平台等影像平台,目前的数据量庞大,迁移过程是个严峻的挑战,迁移至对象存储需要进行详细的方案设计,保证对系统的影响最小,提高系统的业务连续性。
对象存储与传统集中式存储的对比:
我行在使用 SAN 存储+文件系统处理非结构化数据出现性能拐点后, 考虑过使用 NAS 存储进行替代,这样对应用程序几乎无影响,不用过多的进行接口调整,不过其他企业使用 NAS在处理海量非结构化数据时同样出现了性能问题。为此,我行对 SAN+文件系统、NAS 存储和对象存储三种存储方式进行了对比。
经过详细的对比与测试,得到对象存储的几个优点:
高效处理非结构化数据: 根据其扁平化的架构特点, 对象存储较传统集中式存储应对海量非结构化有着非常高的处理性能。
节省存储成本: 对象存储采用通用的 X86 服务器搭建而来, 其成本较传统集中式存储节省很多,同时可以保证集中式存储全部处理结构化数据,使存储性能得到充分利用。
提高数据可用性: 传统集中式存储采用 RAID 技术对数据进行保护, 若 RAID 组中一块盘失效,需要通过 RAID 算法进行重建,不仅重建速度慢,而且会影响存储整体性能;对象存储采用纠删码技术,将数据更细颗粒度的打散在整个存储资源池中,倘若一个节点的磁盘失效,根据纠删码技术,很快就可进行修复,整个过程在几分钟内便可完成,同时,存储的性能分布在不同节点,整体并未受影响。
三、对象存储的测试与体验
为了充分了解对象存储, 我们通过线上的方式对 IBM 的 clever safe 进行了功能测试, 经过测试和使用,我们记录了整个测试过程,下面介绍一下我们的测试过程。
测试内容:
本次通过连接到 IBM 实验室进行测试,时间有限,我们做了如下测试:
1、产品部署的过程和方式。主要测试跨站点部署,部署操作的可行性等。
2、产品的基本功能。主要包括日常的基本操作,上传、下载等。
3、产品的可靠性测试。主要测试产品的性能能否达到需求。
4、产品的可维护性。包括操作界面是否人性化,软件版本升级以及监控功能的管理。
测试过程和结果:
测试案例一:部署测试
案例场景描述:分三站点进行部署,三站点分别部署三地,此场景充分验证对象存储部署的灵活性,三站点的部署方式有效的规避了单机房或单站点的风险。
通过 WEB 界面进入管理界面,点击 Configure 进入配置界面。创建 1 个访问节点,3 个存储节点。访问节点部署北京站点,3 个存储节点分别部署北京、上海、深圳三个城市。
至此集群创建完成, 可以看到三中心三站点的部署方式, 将集群完全拉开, 点击 Devices可以查看集群中所有节点的分布信息和健康状况。
测试案例二:存储资源池展现
案例场景描述:依据三站点的存储节点创建存储资源池,包括 storage pool、access pool和 vault。
创建 storage pool。将三站点的存储节点加入存储资源池,每个站点 25G 空间,存储资源池创建完成有 75G 空间。
创建 access pool。由于本次测试只创建了一个访问节点,故访问存储池中只包括一个节点,选择多种 API 可对此进行访问。
创建 vault 库。
测试案例三:对象存储日常操作
案例场景描述:本次测试采用 S3 协议,使用 S3 Browser 工具将本地的非结构化数据进行上传、下载等功能。
上传完成后, 可以通过管理界面查看容量已发生变化, 增加了上传非结构化数据的容量。
通过 S3 Browser 软件同样可以对对象存储中的非结构化数据进行下载和删除。
测试案例四:对象存储性能容量监控
案例场景描述:对象存储提供完整、便捷的可视化界面对存储的性能和容量进行监控,便于管理人员开展运维工作。
通过亲自上手测试, 感受到对象存储的强大功能, 希望在未来工作中应用更多对象存储的功能,来解决面临的问题。
欢迎点击文末”阅读原文“,前往社区原文下交流评论
欢迎关注社区 “对象存储”技术主题,将会不断更新优质资料、文章。地址:
http://www.talkwithtrend.com/Topic/24493/new
下载 twt 社区客户端 APP
与更多同行在一起
高手随时解答你的疑难问题
轻松订阅各领域技术主题
浏览下载最新文章资料
长按识别二维码即可下载
或到应用商店搜索“twt”
*本公众号所发布内容仅代表作者观点,不代表社区立场